package com.eltsistemas.hibernate;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

import com.eltsistemas.modelo.Afastamento;
import com.eltsistemas.modelo.Autorizacao_Afastamento;
import com.eltsistemas.modelo.Autorizacao_Desligamento;
import com.eltsistemas.modelo.Autorizacao_Ferias;
import com.eltsistemas.modelo.Autorizacao_Salarial;
import com.eltsistemas.modelo.Ferias;
import com.eltsistemas.modelo.Salarial;
import com.eltsistemas.modelo.Autorizacao_Funcionario;
import com.eltsistemas.modelo.Beneficio;
import com.eltsistemas.modelo.Desligamento;
import com.eltsistemas.modelo.Funcao;
import com.eltsistemas.modelo.Funcionario;
import com.eltsistemas.modelo.Grupo;
import com.eltsistemas.modelo.GrupoPermissao;
import com.eltsistemas.modelo.Permissao;
import com.eltsistemas.modelo.Responsavel;
import com.eltsistemas.modelo.Setor;
import com.eltsistemas.modelo.Usuario;


@SuppressWarnings("deprecation")
public class HibernateUtil {
	
	private static SessionFactory factory;
	
	static {

		AnnotationConfiguration cfg = new AnnotationConfiguration();
		
		cfg.addAnnotatedClass(Afastamento.class);
		cfg.addAnnotatedClass(Salarial.class);
		cfg.addAnnotatedClass(Autorizacao_Salarial.class);
		cfg.addAnnotatedClass(Autorizacao_Afastamento.class);
		cfg.addAnnotatedClass(Autorizacao_Desligamento.class);
		cfg.addAnnotatedClass(Autorizacao_Ferias.class);
		cfg.addAnnotatedClass(Autorizacao_Funcionario.class);
		cfg.addAnnotatedClass(Beneficio.class);
		cfg.addAnnotatedClass(Desligamento.class);
		cfg.addAnnotatedClass(Funcao.class);
		cfg.addAnnotatedClass(Funcionario.class);
		cfg.addAnnotatedClass(Setor.class);
		cfg.addAnnotatedClass(Grupo.class);
		cfg.addAnnotatedClass(Permissao.class);
		cfg.addAnnotatedClass(GrupoPermissao.class);
		cfg.addAnnotatedClass(Usuario.class);
		cfg.addAnnotatedClass(Responsavel.class);
		cfg.addAnnotatedClass(Ferias.class);
		
		factory = cfg.buildSessionFactory();

	}
	
	public Session getSession()
	{
		return factory.openSession();
	}
		
}
